package com.cos.lession70.slice;

import com.cos.lession70.ResourceTable;
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
import ohos.agp.components.Button;
import ohos.agp.components.Component;

public class MainAbilitySlice extends AbilitySlice {
    @Override
    public void onStart(Intent intent) {
        super.onStart(intent);
        /* 设置布局内容 */
        /* ResourceTable ability_main.xml 加载进来 */
        super.setUIContent(ResourceTable.Layout_ability_main);
        /* ResourceTable 项目内资源的工具 注意一定自己包的那个ResourceTable */
        /* 设置按钮和点击事件 */
        //获取按钮
        Button btn1 = (Button) findComponentById(ResourceTable.Id_btn1);
        //设置按钮 监听点击事件
        btn1.setClickedListener(new Component.ClickedListener() {
            /**
             * 设置 这个按钮btn1点击后触发做什么事情
             * @param component
             */
            @Override
            public void onClick(Component component) {
                //页面的跳转  present 导航方法 简单理解就是页面的跳转
                //new NextAbilitySlice() 要跳转到这个Slice的页面
                //Intent 用于传值使用的对象
                present(new NextAbilitySlice(),new Intent());
            }
        });
        //获取btn2的按钮对象
        Button btn2 = (Button) findComponentById(ResourceTable.Id_btn2);
        //绑定监听
        btn2.setClickedListener(new Component.ClickedListener() {
            @Override
            public void onClick(Component component) {
                // 写 新slice  页面的跳转
                present(new SecondAbilitySlice(),new Intent());
            }
        });

    }

    /**
     * 当前Page进入active状态进入到手机前台获取焦点时，会触发onActive方法的执行
     */
    protected void onActive() {
        super.onActive();
        System.out.println("MainAbilitySlice--------------onActive");
    }
    /**
     * 当前PageAbility失去焦点（页面切入到后台、切换到其他Page），触发onInactive方法的执行
     */
    protected void onInactive() {
        super.onInactive();
        System.out.println("MainAbilitySlice--------------onInactive");
    }
    /**
     * 当前PageAbility切换到后台，不可见时，触发onBackground执行
     */
    protected void onBackground() {
        super.onBackground();
        System.out.println("MainAbilitySlice--------------onBackground");
    }
    /**
     *  当PageAbility从后台不可见状态（页面在后台、但是没销毁）切换到前台可见状态时触发 onForeground执行
     */
    protected void onForeground(Intent intent) {
        super.onForeground(intent);
        System.out.println("MainAbilitySlice--------------onForeground");
    }
    /**
     * 当前Page销毁时，触发onStop的执行
     */
    protected void onStop() {
        super.onStop();
        System.out.println("MainAbilitySlice--------------onStop");
    }
    /*
    1.修改ability_main.xml 设置 Text文本内容 设置一个按钮
    2.修改MainAbilitySlice 类,添加获取组件方法
           Button btn1 = (Button) findComponentById(ResourceTable.Id_btn1); 通过id主键获取 按钮对象
    3.在按钮对象上设置点击的监听器 setClickedListener
       实现new Component.ClickedListener() 的 onClick方法
       使用 present(new NextAbilitySlice(),new Intent());进行页面跳转
    4.准备第二个页面让跳转使用
        ability_next.xml 设置 Text 布局
    5.准备slice 在这个类中加载ui布局
        setUIContent(ResourceTable.Layout_ability_next);
    6.在present(第一个参数设置要跳转页面的Slice类(new出来),new Intent())
    7.在MainAbilitySlice 点击预览测试
     */
}
